
/* eslint-disable */
const path = require('path')
const srcPath = path.join(__dirname, '..', 'src')
const distPath = path.join(__dirname, '..', 'dist')
const webpack = require('webpack');

// 考虑到 Scope Hoisting 以来 ES6 模块化语法，而现在很多 npm 包的第三方库还是使用 CommonJS 语法，
// 为了充分发挥 Scope Hoisting 效果，我们可以增加以下 mainFields 配置：
module.exports = {
    resolve: {
        // 针对 npm 中的第三方模块优先采用 jsnext:main 中指向的 ES6 模块化语法的文件
        mainFields: ['jsnext:main', 'browser', 'main']
    },
    plugins: [
        new webpack.optimize.ModuleConcatenationPlugin()
    ]
}

//  针对非 ES6 模块化语法的代码，webpack 会降级处理不使用 Scope Hoisting 优化，
//  我们可以在 webpack 命令上增加 --display-optimization-bailout 参数，在输出的日志查看哪些代码做了降级处理：

// package.json
// {
//     // ...
//     "scripts": {
//       "build": "webpack --display-optimization-bailout" 
//     }
//   }



// index.js
import str from "./main.js";

const { name } = require('./no-es6.js');
// main.js
export default '大伟聊前端';
// no-es6.js
module.exports = { 
    name : "大伟聊前端"
}